package com.ly.heart.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ly.common.core.domain.BaseEntity;
import com.ly.common.core.domain.BaseVo;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 金蝶-组装拆卸成品/子件明细对象 erp_king_assemble_detail_info
 * @author wutao
 * @date 2024-07-26
 */
@TableName ("erp_king_assemble_detail_info")
@ApiModel (value = "king_assemble_detail_info对象", description = "金蝶-组装拆卸成品/子件明细")
@Data
public class KingAssembleDetailEntity extends BaseVo {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId (value = "id", type = IdType.INPUT)
    private String id;

    /**
     * 组装拆卸id
     */
    @ApiModelProperty ("组装拆卸id")
    @TableField ("assemble_id")
    @Excel (name = "组装拆卸id")
    private String assembleId;

    /**
     * 物料编码
     */
    @ApiModelProperty ("物料编码")
    @TableField ("material_code")
    @Excel (name = "物料编码")
    private String materialCode;

    /**
     * 单位编码
     */
    @ApiModelProperty ("单位编码")
    @TableField ("material_unit")
    @Excel (name = "单位编码")
    private String materialUnit;

    /**
     * 数量
     */
    @ApiModelProperty ("数量")
    @TableField ("num")
    @Excel (name = "数量")
    private String num;

    /**
     * 仓库编码
     */
    @ApiModelProperty ("仓库编码")
    @TableField ("warehouse_code")
    @Excel (name = "仓库编码")
    private String warehouseCode;

    /**
     * 仓位编码
     */
    @ApiModelProperty ("仓位编码")
    @TableField ("warehouse_position")
    @Excel (name = "仓位编码")
    private String warehousePosition;

    /**
     * 库存状态编码
     */
    @ApiModelProperty ("库存状态编码")
    @TableField ("inventory_state_code")
    @Excel (name = "库存状态编码")
    private String inventoryStateCode;

    /**
     * 批号
     */
    @ApiModelProperty ("批号")
    @TableField ("batch_no")
    @Excel (name = "批号")
    private String batchNo;

    /**
     * 费用
     */
    @ApiModelProperty ("费用")
    @TableField ("fee")
    @Excel (name = "费用")
    private String fee;

    /**
     * 参考BOM版本
     */
    @ApiModelProperty ("参考BOM版本")
    @TableField ("bom_version")
    @Excel (name = "参考BOM版本")
    private String bomVersion;

    /**
     * 备注
     */
    @ApiModelProperty ("备注")
    @TableField ("remarks")
    @Excel (name = "备注")
    private String remarks;

    /**
     * 成品和子件类型；1：成品列表；2：子件列表
     */
    @ApiModelProperty ("成品和子件类型；1：成品列表；2：子件列表")
    @TableField ("type")
    @Excel (name = "成品和子件类型；1：成品列表；2：子件列表")
    private Integer type;

    @ApiModelProperty ("行号")
    @TableField ("line_number")
    private String lineNumber;

    /**
     * 创建人
     */
    @ApiModelProperty ("创建人")
    @TableField ("create_user")
    @Excel (name = "创建人")
    private String createUser;

    /**
     * 创建时间
     */
    @ApiModelProperty ("创建时间")
    @TableField ("create_date")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDate;

    /**
     * 更新人
     */
    @ApiModelProperty ("更新人")
    @TableField ("update_user")
    @Excel (name = "更新人")
    private String updateUser;

    /**
     * 更新时间
     */
    @ApiModelProperty ("更新时间")
    @TableField ("update_date")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateDate;

    /**
     * 是否可用
     */
    @ApiModelProperty ("是否可用")
    @TableField ("is_used")
    @Excel (name = "是否可用")
    private Integer isUsed;

    @TableField (exist = false)
    private String materialName;

    @TableField (exist = false)
    private String model;

    @TableField (exist = false)
    private String wareName;

    @TableField (exist = false)
    private String inventoryStatusName;

    @TableField (exist = false)
    private String materialUnitName;


}
